x86: fix unmaskable msi assignment issue.
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 13 Jan 2010 08:18:38 +0000 (08:18 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 13 Jan 2010 08:18:38 +0000 (08:18 +0000)
commit54954172e44d65c9118cd084096aa71d312043fa
treede266bc9a721c0d50e61334f7bae927a3ad7046a
parenta5f80565fbd6ea7041f9763861ddc0a1267fbc9e
x86: fix unmaskable msi assignment issue.

Currently, unmasked msi irq's EOI write is deferred untile guest
writes EOI, so needs to keep eoi_vector unchanged before guest writes
EOI. However, irq migration breaks the assumption and changs
eoi_vector when interrupts are generated through new vector.

The patch removes the dependency for eoi_vector and directly recoreds
the irq info in the EOI stack, and when guest writes EOI, just do the
physical EOI for the specific irq(recorded in EOI stack)on the cpus
according to the cpu_eoi_map.

Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
xen/arch/x86/irq.c